- 4 minutes to read

Event Directions

Helps you and your business filter Log Events so you can distinguish the same message before and after port/workflow processing

EventDirections is an optional field (number) part of Log Events and qualifies the direction for a Log Event and can be used to create fine-tuned Self Service Log Views for your business.

High level design or implementation specific details?

Whenever you have a messaging process it usually has many steps where some are internal and some are external, examples can be:

Message from A to B - Business perspective

Imagine you work at the financial department, you may only be interested in the result, not all the information that stems from generating the final result.

  • Message before decryption
  • Message after decryption
  • Message before encryption
  • Message after encryption
  • Message batch before a split
    • Messages After the split
  • Flat file before being translated to an XML (for example BizTalk, IBM IIB and other brokers who use flat file schemas on a Receive port)
  • Flat file after being translated from an XML (for example BizTalk, IBM IIB and other brokers who use flat file schemas on a Send port)
  • Workflow / Orchestration inside a loop generating new messages

There are countless scenarios like this. The point is the Event Direction property is used to provide the Log Event being logged on an Endpoint location semantics, like before port, after port, inside workflow, inside process and so on.

How do I use the Event Directions in a Log View?

From Log Views your business can search and group Log Events by the selected Event Direction.

SearchEventDirection
Event Direction being used from within a Log View

This feature makes it possible to hide internal events that your business may not be interested in. They might only be interested in what came in, or what went out (the net result), not all the nitty-gritty internal details. On the opposite side, you might be a developer who wants to see every piece of the process.

SearchEventDirections

# Event Direction Value Comment
Default null Not set
1 ExternalIncoming 17 Incoming message before receive in a One-Way receive Port processing
2 ExternalIncomingRequest 21 Incoming request message before receive Request-Response Port processing
3 ExternalIncomingResponse 25 Outgoing response message after receive Request-Response Port processing
4 ExternalOutgoing 18 Outgoing message after send in a One-Way Port processing
5 ExternalOutgoingRequest 22 Outgoing request message after send Request-Response Port processing
6 ExternalOutgoingResponse 26 Incoming response message after send Request-Response Port processing
7 InternalIncoming 33 Incoming message after receive in a One-Way receive Port processing
8 InternalOutgoing 34 Outgoing message before send in a One-Way send Port processing
9 ProcessIncoming 65 Incoming message to a function/workflow/orchestration
10 ProcessOutgoing 66 Outgoing message to a function/workflow/orchestration

List of values to set the Event Direction for logged message

File transfer example

graph LR subgraph "Source" roA[Send file] end subgraph "EAI solution" roA --> |EventDirection: 17
EndPointDirection: 0| ro1{Process} end subgraph "Destination" ro1 --> |EventDirection: 18
EndPointDirection: 1| roB[Receive file] end

API example

graph RL subgraph "Source" roA[API Consumer] end subgraph "EAI solution" roA --> |Request
EventDirection: 21
EndPointDirection: 10| ro1{Process} ro1 --> |Response
EventDirection: 25
EndPointDirection: 10| roA end subgraph "Destination" ro1 --> |Request
EventDirection: 22
EndPointDirection: 11| roB[Receive file] roB --> |Response
EventDirection: 26
EndPointDirection: 11| ro1 end

Combined Event Directions

From Log Views your business can search and group Log Events by the selected Event Direction using Combinations of 1 or more Event Directions.

This means you may want to only see (allow business) messages before processing and after processing for a given workflow, for example, lines 1 and 5.

Valid combinations are as detailed below:
SearchEventDirectionCombos
Valid combinations of Event Directions available from within Log Views

# Event Direction Description
1+2+7+9 Incoming Filter on ALL messages with any type of Incoming direction
4+5+8+10 Outgoing Filter on ALL messages with any type of Outgoing direction
2+5 Request Filter on ALL messages with any type of Request direction
3+6 Response Filter on ALL messages with any type of Response direction
1+2+3+4+5+6 External Filter on ALL messages going in from external or going out to external system. For BizTalk this means before receive port and after send port
7+8 Internal Filter on ALL internal messages. For BizTalk this means after receive port and before send port
9+10 Process Filter on ALL messages for a Process direction. For BizTalk this is all events related with an orchestration
2+TBD Incoming Request For future use
5+TBD Outgoing Request For future use
3+TBD Incoming Response For future use
6+TBD Outgoing Response For future use

List of useful values for use in Log Views

Try it out yourself

To see the full list of values for the version you are running, simply test the Log API.

 https://localhost/Nodinite/LogAPI/swagger/ui/index#/LogEvent/LogEvent_EventDirection

Replace https://localhost/Nodinite as appropriate for your Environment.

Event Direction collection from the Swagger documentation

Simply press the Try it out button:
Try it out
To get the list of Event Directions press the Try it out button.

Then, press the Execute button:
Execute

Event Direction from Swagger
Example of EventDirections from the Swagger definition.


Next Step

Log Agents